<?php
/**
 * 适配器模式
 * GoF定义：将一个类的接口转换成客户希望的另外一个接口。
 * Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作
 */
interface Target {
    function Request();
}

class Adapter implements Target{
    private $adaptee;
    function __construct($adaptee) {
        $this->adaptee = $adaptee;
    }
    function Request() {
        $this->adaptee->SpecificRequest();
    }
}

class Adaptee{
    function SpecificRequest(){
        echo "I`m China Standard!";
    }
}

// 我是Client
$adaptee = new Adaptee();
$adapter = new Adapter($adaptee);
$adapter->Request();